package com.itheima.contact.domain;

import java.util.List;

/**
 * @Author Azer
 * @LOVE,,,
 * @Date 2021/9/19 19:31
 */
//暂存分页的数据
public class PageBean {

    //每一页显示的数据
    private List<User> data;
    //每一页显示数据的条数
    private int pageSize;
    //当前页数
    private int curPage;
    //数据库中的数据总条数
    private int count;
    //总的页数 虽然可以计算出来，但是前端页面要使用，所以这里定义了成员变量
    private int totalPage;

      /*
        定义方法获取索引
        起始索引= (当前页数-1)*每一页显示数据的条数
        startIndex =(curPage-1)*pageSize
     */
      public int getStartIndex(){

      return (curPage-1)*pageSize;
      }


    public PageBean() {
    }

    public PageBean(List<User> data, int pageSize, int curPage, int count, int totalPage) {
        this.data = data;
        this.pageSize = pageSize;
        this.curPage = curPage;
        this.count = count;
        this.totalPage = totalPage;
    }

    public List<User> getData() {
        return data;
    }

    public void setData(List<User> data) {
        this.data = data;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getCurPage() {
        return curPage;
    }

    public void setCurPage(int curPage) {
        this.curPage = curPage;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    /*
       总的页数：
       Math.ceil(总条数*1.0/每一页显示的数据的条数)
       Math.ceil(count*1.0/pageSize)
       说明：count*1.0 为了count变为小数，这样就可以保证count*1.0/pageSize最后的结果是小数
       然后使用 Math类中的ceil方法向上取整数即可获取到总的页数
    */
    public int getTotalPage() {
        return (int) Math.ceil(count*1.0/pageSize);
    }

    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }

    @Override
    public String toString() {
        return "PageBean{" +
                "data=" + data +
                ", pageSize=" + pageSize +
                ", curPage=" + curPage +
                ", count=" + count +
                ", totalPage=" + totalPage +
                '}';
    }



}
